Assistive technology (AT) responsive to cognitive states

ABSTRACT

A method of providing guidance in connection with a technological task includes determining, from an interaction of an end user with a computer system, a current context and task of the end user, identifying a change in a cognitive state of the end user, where the change in the cognitive state is associated with performance of the task using the computer system, searching a plurality of user experiences corresponding to the change in the cognitive state of the end user and the user&#39;s current context, selecting at least one of the user experiences according to a selection parameter for determining a selected user experience, and injecting the selected user experience into the current context of the end user via an output device of the computer system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/668,943 filed Mar. 25, 2015, the complete disclosure of which isherein expressly incorporated by reference in its entirety for allpurposes.

BACKGROUND

The present disclosure relates to assistive technology, and moreparticularly to assistive technology selectively injecting informationinto a current context in response to a user's cognitive status.

Assistive Technology (AT) includes screen readers, speech-to-textrecognition systems, and wearable and other mobile accessibility devicesfor people with disabilities or specialized needs.

Many applications provide instant user guidance, for example, using theF1 key to invoke a help window, context sensitive tips and the like.Applications also make use of social channels (e.g., forums, blogs orwilds) to share user experiences, for example, in a navigationapplication that notifies a current user of other users' experiences.The user experiences may be a solution to an issue, a tip, or any kindof assistance to solve a problem, or an instruction to complete a task.The other users' experiences are updated in real time, and may beselectively provided to the current user based on a state of the currentuser.

Although the shared user experience can be used by both sighted usersand screen reader users, the usage scenarios or use experiences aredifferent. Screen readers and other assistive technologies listen foralerts (i.e., role=alert in WAI-ARIA (the Web Accessibility Initiative'sAccessible Rich Internet Applications specification)) or events from acurrent application that provide updated status and messaginginformation to the user, for example, when a new email arrives or achange in a status. Alerts give information about external applicationsthat are not related to what the user is doing. However, the user mustuse keyboard input to get the content referenced by the alert or eventleaving the context of the current application.

BRIEF SUMMARY

According to an exemplary embodiment of the present invention, a methodof providing guidance in connection with a technological task includesdetermining, from an interaction of an end user with a computer system,a current context and task of the end user, identifying a change in acognitive state of the end user, where the change in the cognitive stateis associated with performance of the task using the computer system,searching a plurality of user experiences corresponding to the change inthe cognitive state of the end user and the user's current context,selecting at least one of the user experiences according to a selectionparameter for determining a selected user experience, and injecting theselected user experience into the current context of the end user via anoutput device of the computer system.

As used herein, “facilitating” an action includes performing the action,making the action easier, helping to carry the action out, or causingthe action to be performed. Thus, by way of example and not limitation,instructions executing on one processor might facilitate an actioncarried out by instructions executing on a remote processor, by sendingappropriate data or commands to cause or aid the action to be performed.For the avoidance of doubt, where an actor facilitates an action byother than performing the action, the action is nevertheless performedby some entity or combination of entities.

One or more embodiments of the invention or elements thereof can beimplemented in the form of a computer program product including acomputer readable storage medium with computer usable program code forperforming the method steps indicated. Furthermore, one or moreembodiments of the invention or elements thereof can be implemented inthe form of a system (or apparatus) including a memory, and at least oneprocessor that is coupled to the memory and operative to performexemplary method steps. Yet further, in another aspect, one or moreembodiments of the invention or elements thereof can be implemented inthe form of means for carrying out one or more of the method stepsdescribed herein; the means can include (i) hardware module(s), (ii)software module(s) stored in a computer readable storage medium (ormultiple such media) and implemented on a hardware processor, or (iii) acombination of (i) and (ii); any of (i)-(iii) implement the specifictechniques set forth herein.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Preferred embodiments of the present invention will be described belowin more detail, with reference to the accompanying drawings:

FIG. 1 is a flow diagram of a method of providing guidance in connectionwith a technologic task according to an exemplary embodiment of thepresent invention;

FIG. 2 is a diagram of a computer system including a screen reader andcontext and cognitive engine according to an exemplary embodiment of thepresent invention;

FIGS. 3-4 are a flow diagram for an end user interaction with a screenreader having a context and cognitive engine component according to anexemplary embodiment of the present invention; and

FIG. 5 is a diagram of a computer system configured to providingguidance in connection with a technologic task according to an exemplaryembodiment of the present invention.

DETAILED DESCRIPTION

According to an exemplary embodiment of the present invention, a userinteraction with a technological process, aided by a screen reader, isstreamlined through experience sharing. In one or more embodiments ofthe present invention, experience sharing includes injecting otherusers' experiences in a current context of a user task. For example, ifthe screen reader identifies that the user is frustrated or confused,the screen reader searches a forum and finds a work-around using analternative short-cut. The existing user's experience is selected fromthe ones that have proved to be working by user voting or ranking etc.for the same situation or context.

Herein after, embodiments of the present invention will be described interms of an end user in a community of users.

According to an exemplary embodiment of the present invention, atechnological task performed by the end user who is aided by a screenreader application or other assistive technology (AT) is augmented withinformation based on the end user's cognitive state. In one or moreembodiments, the augmentation includes injecting a user experience intothe current context (e.g., in the form of a tip, recommend key commands,or other assistance) in response to a change in the end user's cognitivestate. The injected user experience can be the existing experience (ofthe same user, or other users) with the same or similar task gleanedfrom social networks, or another data source. The injected experiencescan be from a current time (e.g., within the last 2-4 hours, and moregenerally from within the past 24 hours) or from an earlier time.According to one or more embodiments of the present invention, theexperiences are stored in a database, or other store, and made availableto the AT.

According to an exemplary embodiment of the present invention, thechange in the cognitive state of the end user can be determined based onthe end user's interaction with a current application. For example, alarge amount of time spent on a single task within the application isindicative of confusion. In another example, repeated actions (e.g., keystrokes) are indicative of being doubtable. In yet another example, userfrustration can be determined based on repeated attempts to complete atask. In one or more embodiments of the present invention, the cognitivestate of the end user is indicative of an issue. In another embodimentof the present invention, the cognitive state of the end user can bedetermined by a user action, for instance, pressing a pre-defined key(or key combination) by the screen reader so once the user presses thekey, the screen reader knows that user needs assistance. The detectionof cognitive states can be performed using currently availableapplications.

According to an exemplary embodiment of the present invention, an actionneeded to remedy the issue that the end user is experiencing is based onthe cognitive stage of the end user. The action can be predefined basedon the end user's preferences (e.g., disability types and extent, aswell as preferred social networks and rating system).

According to an exemplary embodiment of the present invention, efficientand effective screen reader experiences can be achieved, where the enduser can perform tasks successfully. Referring to FIG. 1 and accordingto an exemplary embodiment of the present invention, a method ofproviding guidance in connection with a technologic task 100 includesdetermining an end user's current context and activities 101. Forexample, the AT uses a buffer for contexts and user actions that can beused to determine one or more activities of the end user. At blocks 102and 103, a change in the cognitive state of the end user is identifiedusing a database of cognitive states and corresponding indications (see104). In at least one embodiment of the present invention, the change isdetermined using a threshold (see block 103). Since the detection of thecognitive state is tied to the end user's interaction with theapplication, a change in the cognitive state is assumed to be due to anissue related to that interaction. At block 105, other user experiencesare searched and filtered for the issue. One or more user experiencesfor the issue are selected from a social network. The selected userexperience(s) can be determined based on one or more factors, forexample, ranking of the users providing experiences, or rankingexperiences themselves. For example, one or more workarounds areidentified for a keyboard issue where a standard shortcut is notbehaving as expected. Among the users who share experiences, a user'sfeedback, ranking, and scores can be used to select an appropriate userexperience demonstrating the proposed workaround. At block 106, theselected user experience(s) is injected into the current context of theend user. This can be done by inserting the experience into the currentcontext stream. In at least one embodiment, the insertion includes atask pause while the end user listens to instructions to complete thetask. These instructions are determined from the existing userexperience based on the ranking, and may be in different forms. Forexample, a brief instruction for advanced users and a more detailedinstruction for less advanced users.

An insertion can be performed by adding text of the selected userexperience into a buffer of the screen reader. In one exemplaryembodiment, the inserted experience is distinguished from the currentcontext by using a different spoken tone. The screen reader applicationdetermines when the user is frustrated (via their interaction) andqueries the database for the existing experience. The screen readerapplication filters the information gathered from the database, ensuresthat it fits into the current user context and delivers the informationseamlessly to the user without distracting the user from the task athand.

It should be understood that the AT application can be implemented invarious ways, including as a stand-alone application, a module of thescreen reader, a plugin or the like. The AT provides assistance to thescreen reader end user in determining information relevant to a currenttask.

Illustrated in FIG. 2 are a context and cognitive engine 200, an enduser application 210 (e.g., word processor, spreadsheet, programmingenvironment, creative suite, etc.), a screen reader 220 (such as theJAWS (Job Access With Speech) screen reader, the Home Page Reader (Hpr)or Easy Web Browsing) and a database 230.

According to an exemplary embodiment of the present invention, thecontext and cognitive engine 200, end user application 210 and screenreader 220 are implemented in computer readable code executed bycomputer system 240 (see also FIG. 5). The computer system 240 executesan operating system 241 supporting the applications. The operatingsystem 241 makes available, via a window content application programminginterface (API) 242, a textual description of a window's content. Callsmay be made to the window content API 242 by the screen reader 220 togain information about the content of a window. This window content API242 is used by a screen reader and the resulting content information issynthesized to audio output.

In one or more exemplary embodiments of the present invention, thecomputer system 240 is connected to an input device 250 (e.g., keyboard,pointing device, capacitive touch panel with tactile feedback, etc.), anaudio output device 260 (e.g., a speaker, headphones, a cochlear implantwith wireless connectivity, etc.) and a video output device 270 (e.g.,display).

In view of the foregoing, when the end user interacts with theapplication 201 the screen reader 220 announces at least a portion ofthe activity related to the interaction(s) with the application 210(e.g., announcing end user input and a context of the input such as thename of a dialog box receiving the input).

The database 230 stores experiences accessible to the context andcognitive engine 200. The database 230 can be executed by the computersystem 240 or another computer system (for example, a cloud computingnode including a computer system/serve, which is operational withnumerous other general purpose or special purpose computing systemenvironments or configurations). The components of computersystem/server may include, but are not limited to, one or moreprocessors or processing units, a system memory, and a bus that couplesvarious system components including system memory to at least one of theprocessors.

The different applications (e.g., context and cognitive engine 200, enduser application 210 and screen reader 220) can be embodied as virtualmachines, plug-in's and the like. In one exemplary embodiment, thecontext and cognitive engine 200 and end user application 210 make useof input/output objects connected to the screen reader 220 configured asa host assistive technology input/output manager 221. The input/outputmanager 221 includes input and output sockets for interfacing withclient applications (e.g., context and cognitive engine 200, end userapplication 210 and screen reader 220).

The context and cognitive engine 200 determines a current context of theend user 201, that is the context in which the end user is working. Thescreen reader 220 may use key words, domain, subject, or work item todetermine the current context. The screen reader 220 determines that thecognitive state changes for a specific issue (e.g., from interested tofrustrated) 202. Once determination of a cognitive status change, forexample, to a frustrated status, the screen reader application queries adatabase (e.g., a social network) for the existing experiences on theissue determined by the user's current action or task with the context.203. The screen reader 220 determines one or more appropriate userexperiences 204, for example, based on ranking, hits andrecommendations, and the end user's preferences (such as disabilitytypes and extent) 205. The screen reader 220 injects the determined userexperience(s) into the current content stream and context, anddelivers/announces to the end user 206.

According to an embodiment of the present invention, the screen reader220 may decide to further filter the existing experience based on thecurrent user or policies. For example, the screen reader may decide tofilter out the existing experience if the experience is determined to beundesirable for consumption by the user in the current context (e.g.,respecting parental controls, corporate filters and the like specifiedthrough the operative system 241). In this way, the AT can beimplemented as a filter on user experiences such that only userexperiences relevant to the current context and compliance with certainpolicies are provided to the end user.

FIG. 3 and FIG. 4 show a set of user actions in the left column arrangedin chronological order from top to bottom, screen reader actions in thecenter column and context and cognitive engine actions in the rightcolumn. The figures show end user interactions with a screen readerhaving a context and cognitive engine component 300 according to anexemplary embodiment of the present invention. In FIG. 3, for example,at 301 the end user selects a cell in a spreadsheet at position “C4”using keyboard inputs. At 302 the screen reader announces the selectionof position “C4.” At 303 the column and context and cognitive enginedetermines a current context, which includes a name of the spreadsheetand the user keyboard input.

At block 304, the user types “34” and at block 305 the screen readerannounces “34” in cell “C4,” while the context and cognitive enginedetermines a current context including the name of the spreadsheet andthe value input into cell “C4” at block 306.

At block 307 the user inputs “SUM” in cell “C35” and at block 308 thescreen reader announces “SUM” in cell “C35.” At block 309 the userinputs “SUM(34)” and the screen reader announces “SUM(34)” at block 310.At block 311, the context and cognitive engine determines the currentcontext as the name of the spreadsheet, the end user input in cells “C4”to “C34” and an apparent repeated attempts to sum the values of column“C” (at blocks 307 and 309)

In FIG. 4, the end user continues to attempt to sum column “C” at blocks401, 402 and 403, with corresponding announcements being issued by thescreen reader at blocks 404, 405 and 406. At block 407, the context andcognitive engine determines user frustration with the repeated actionsat cell “C35” (e.g., at blocks 307, 308, 401, 402 and 403). At block408, the context and cognitive engine searches for an interaction usingthe search phrase “sum a series of numbers” along with the name of thespreadsheet. The search is applied to a data source (e.g., a corporatedata source including interaction with different documents) and returnsone or more possible interactions. At block 409, the context andcognitive engine selects an interaction from among the possibleinteractions. At block 410, the selected interaction is injected intothe end user's context, wherein the screen reader announces theassistance “to sum up numbers from A1 to A5, use SUM(A1:A5), to sum upA1, A3 and A5 use SUM(A1, A3, A5).” At block 412, the end user is ableto perform the task, having had listened to the injected assistance atblock 411.

According to an embodiment of the present invention, AT according to anembodiment of the present invention can be applied to additionalassistive technologies, for example, speech recognition applications, amobile application or locational system. For example, if a user is usingthe mobile application for navigating a campus and encounters an areawhere the system cannot give an accurate decision, the AT injectsinformation to assist the user in locating a landmark such as aclassroom or lecture hall. The user receives in-context informationbased on their given coordinates that pull experiential data, in realtime, from a social network to give assistance as to where they shouldgo. This experiential data can be filtered based on the user'sdisability and/or action since querying the system for the experientialdata. In one example, if the user needs to take an elevator and has notyet moved to the recommended location, the system traps the experientialdata for delivery at an appropriate time, reducing further userfrustration.

By way of recapitulation, according to an exemplary embodiment of thepresent invention, a method of providing guidance in connection with atechnological task includes determining, from an interaction of an enduser with a computer system (see for example, 240, FIG. 2), a currentcontext and task of the end user (see for example, 201, FIG. 2),identifying a change in a cognitive state of the end user, where thechange in the cognitive state is associated with performance of the taskusing the computer system (see for example, 202, FIG. 2), searching aplurality of user experiences corresponding to the change in thecognitive state of the end user and the user's current context (see forexample, 203, FIG. 2), selecting at least one of the user experiencesaccording to a selection parameter for determining a selected userexperience (see for example, 204, FIG. 2), and injecting the selecteduser experience into the current context of the end user (see forexample, 206, FIG. 2) via an output device (see for example, 260, FIG.2) of the computer system.

The methodologies of embodiments of the disclosure may be particularlywell-suited for use in an electronic device or alternative system.Accordingly, embodiments of the present invention may take the form ofan entirely hardware embodiment or an embodiment combining software andhardware aspects that may all generally be referred to herein as a“processor,” “circuit,” “module” or “system.”

Furthermore, it should be noted that any of the methods described hereincan include an additional step of providing an AT apparatus including acontext module (e.g., 201), a cognitive state module 202, a databasequery module 203, an experience selection module 204 and an injectionmodule 206. The method steps can then be carried out using the distinctsoftware modules and/or sub-modules of the system, as described above,executing on one or more hardware processors (e.g., see 501, FIG. 5).Further, a computer program product can include a tangiblecomputer-readable recordable storage medium with code adapted to beexecuted to carry out one or more method steps described herein,including the provision of the system with the distinct softwaremodules.

Referring to FIG. 5; FIG. 5 is a block diagram depicting an exemplarycomputer system embodying an AT apparatus 200 (see FIG. 2) according toan embodiment of the present invention. The computer system shown inFIG. 5 includes a processor 501, memory 502, display 503, input device504 (e.g., keyboard), a network interface (I/F) 505, a media I/F 506,and media 507, such as a signal source, e.g., camera, Hard Drive (HD),external memory device, etc.

In different applications, some of the components shown in FIG. 5 can beomitted. The whole system shown in FIG. 5 is controlled by computerreadable instructions, which are generally stored in the media 507. Thesoftware can be downloaded from a network (not shown in the figures),stored in the media 507. Alternatively, software downloaded from anetwork can be loaded into the memory 502 and executed by the processor501 so as to complete the function determined by the software.

The processor 501 may be configured to perform one or more methodologiesdescribed in the present disclosure, illustrative embodiments of whichare shown in the above figures and described herein. Embodiments of thepresent invention can be implemented as a routine that is stored inmemory 502 and executed by the processor 501 to process the signal fromthe media 507. As such, the computer system is a general-purposecomputer system that becomes a specific purpose computer system whenexecuting routines of the present disclosure.

Although the computer system described in FIG. 5 can support methodsaccording to the present disclosure, this system is only one example ofa computer system. Those skilled of the art should understand that othercomputer system designs can be used to implement embodiments of thepresent invention.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method of providing guidance in connection witha technological task comprises: executing, by a computer system, a firstapplication; executing, by the computer system, a screen readerapplication augmenting the first application; determining, from aplurality of end user interactions of an end user with the firstapplication executing on the computer system, a current context forinput received by the computer system and a current technological taskof an end user providing the end user interactions, wherein sequentialones of the current context form a current context stream of contextsand end user interactions, and wherein the current context stream isstored in a buffer of the screen reader application from whichannouncements are output; identifying, from the end user interactions, achange in a cognitive state of the end user, where the cognitive statesare detected upon determining respective indications in the end userinteractions; identifying a plurality of user experiences correspondingto the change in the cognitive state of the end user and the currentcontext; selecting at least one of the user experiences according to aselection parameter for determining a selected user experience; andinjecting the selected user experience into the current context streamstored in the buffer, wherein the screen reader application announcesthe selected user experience within the current context stream.
 2. Themethod of claim 1, wherein the injection of the selected user experienceis a textual input into the current context stream stored in the bufferof the screen reader application.
 3. The method of claim 2, furthercomprising: operating the screen reader application to announce a firstaudio reading corresponding to the current context of the currentcontext stream; operating the screen reader application to pause thecurrent context stream including the first audio reading correspondingto the current context using the audio output device; and operating thescreen reader application to announce a second audio reading, during thepause in the first audio reading, corresponding to the textual input. 4.The method of claim 3, further comprising distinguishing the first audioreading from the second audio reading using a parameter of the screenreader application.
 5. The method of claim 3, wherein the parameter ofthe screen reader application controls a voice characteristic of thescreen reader application reading.
 6. The method of claim 3, wherein theparameter of the screen reader application controls one or more of aspeed and a tone of the screen reader application reading.
 7. The methodof claim 1, wherein identifying the plurality of user experiencescorresponding to the change in the cognitive state of the end usercomprises: accessing a social network of users; and filtering aplurality of available user experiences using the change in thecognitive state of the end user to determine a plurality of potentialuser experiences.
 8. The method of claim 7, wherein selecting the atleast one of the user experiences according to the selection parameterfor determining the selected user experience comprises: determining theselecting parameter corresponding to the end user; and applying theselection parameter to the plurality of potential user experiences todetermine the selected user experience.
 9. The method of claim 1,wherein identifying the change in the cognitive state of the end userfurther comprises identifying an issue corresponding to the change inthe cognitive state of the end user, wherein the identification of theplurality of user experiences further includes searching a plurality ofuser experiences corresponding to the change in the cognitive state ofthe end user and the issue.